約 3,436,284 件
https://w.atwiki.jp/linuxlab/pages/21.html
カーネルはOSの心臓部となる部分である。 カーネルの大きな役割としてデバイスの管理とアプリケーションの実行がある。 デバイスの管理にはデバイスドライバ?が用いられるが、デバイスドライバはカーネルに組み込まれてシステム起動時に組み込まれるタイプと必要となったときに組み込まれるタイプ(カーネルモジュール)の2つが存在します。 どのようなカーネルモジュールが組み込まれているかを確認するには、lsmodというコマンドが利用されます。 # lsmod Module Size Used by ipv6 235364 14 ppdev 6500 0 lp 8164 0 ext2 54504 1 sbp2 18572 0 loop 12748 0 evdev 8000 0 parport_pc 22500 1 parport 30988 3 ppdev,lp,parport_pc psmouse 32336 0 serio_raw 4740 0 usbhid 35904 0 hid 33184 1 usbhid ff_memless 4392 1 usbhid pcspkr 2432 0 i2c_i801 7920 0 snd_emu10k1 114976 0 i2c_core 19828 1 i2c_i801 snd_rawmidi 18528 1 snd_emu10k1 firmware_class 6816 1 snd_emu10k1 snd_ac97_codec 88484 1 snd_emu10k1 ac97_bus 1728 1 snd_ac97_codec snd_pcm 62596 2 snd_emu10k1,snd_ac97_codec snd_seq_device 6380 2 snd_emu10k1,snd_rawmidi emu10k1_gp 2688 0 snd_timer 17800 2 snd_emu10k1,snd_pcm snd_page_alloc 7816 2 snd_emu10k1,snd_pcm snd_util_mem 4032 1 snd_emu10k1 gameport 10700 2 emu10k1_gp snd_hwdep 6212 1 snd_emu10k1 snd 45604 7 snd_emu10k1,snd_rawmidi,snd_ac97_codec,snd_pcm,snd_seq_device,snd_timer,snd_hwdep soundcore 6368 1 snd button 6096 0 intel_rng 4576 0 rng_core 3940 1 intel_rng shpchp 25528 0 pci_hotplug 23460 1 shpchp iTCO_wdt 9508 0 intel_agp 22556 1 agpgart 28776 1 intel_agp dcdbas 6272 0 ext3 105512 2 jbd 39444 1 ext3 mbcache 7108 2 ext2,ext3 dm_mirror 15104 0 dm_log 8484 1 dm_mirror dm_snapshot 14340 0 dm_mod 46184 10 dm_mirror,dm_log,dm_snapshot ide_cd_mod 27652 0 cdrom 30176 1 ide_cd_mod ide_disk 10496 7 ata_generic 4676 0 libata 140416 1 ata_generic scsi_mod 129324 2 sbp2,libata dock 8304 1 libata ide_pci_generic 3908 0 [permanent] floppy 47748 0 3c59x 35624 0 mii 4896 1 3c59x ohci1394 24944 0 ieee1394 75800 2 sbp2,ohci1394 uhci_hcd 18672 0 usbcore 118224 3 usbhid,uhci_hcd piix 6568 0 [permanent] ide_core 96136 4 ide_cd_mod,ide_disk,ide_pci_generic,piix thermal 15228 0 processor 32544 1 thermal fan 4164 0 thermal_sys 10856 3 thermal,processor,fan なお、この内容は/proc/modulesにも格納されています。 # cat /proc/modules ipv6 235364 14 - Live 0xf8ca7000 ppdev 6500 0 - Live 0xf8aca000 lp 8164 0 - Live 0xf8ac7000 ext2 54504 1 - Live 0xf8b03000 sbp2 18572 0 - Live 0xf8ae8000 loop 12748 0 - Live 0xf89b0000 evdev 8000 0 - Live 0xf8a26000 parport_pc 22500 1 - Live 0xf8ae1000 parport 30988 3 ppdev,lp,parport_pc, Live 0xf8ad8000 psmouse 32336 0 - Live 0xf8acf000 serio_raw 4740 0 - Live 0xf8a23000 usbhid 35904 0 - Live 0xf8aac000 hid 33184 1 usbhid, Live 0xf8ab8000 ff_memless 4392 1 usbhid, Live 0xf89e7000 pcspkr 2432 0 - Live 0xf8988000 i2c_i801 7920 0 - Live 0xf89e4000 snd_emu10k1 114976 0 - Live 0xf8a29000 i2c_core 19828 1 i2c_i801, Live 0xf89cd000 snd_rawmidi 18528 1 snd_emu10k1, Live 0xf89b6000 firmware_class 6816 1 snd_emu10k1, Live 0xf89ab000 snd_ac97_codec 88484 1 snd_emu10k1, Live 0xf89eb000 ac97_bus 1728 1 snd_ac97_codec, Live 0xf898a000 snd_pcm 62596 2 snd_emu10k1,snd_ac97_codec, Live 0xf89bc000 snd_seq_device 6380 2 snd_emu10k1,snd_rawmidi, Live 0xf89a3000 emu10k1_gp 2688 0 - Live 0xf88e4000 snd_timer 17800 2 snd_emu10k1,snd_pcm, Live 0xf8990000 snd_page_alloc 7816 2 snd_emu10k1,snd_pcm, Live 0xf898d000 snd_util_mem 4032 1 snd_emu10k1, Live 0xf8938000 gameport 10700 2 emu10k1_gp, Live 0xf895f000 snd_hwdep 6212 1 snd_emu10k1, Live 0xf8985000 snd 45604 7 snd_emu10k1,snd_rawmidi,snd_ac97_codec,snd_pcm,snd_seq_device,snd_timer,snd_hwdep, Live 0xf8996000 soundcore 6368 1 snd, Live 0xf8966000 button 6096 0 - Live 0xf8963000 intel_rng 4576 0 - Live 0xf895c000 rng_core 3940 1 intel_rng, Live 0xf8885000 shpchp 25528 0 - Live 0xf8930000 pci_hotplug 23460 1 shpchp, Live 0xf8955000 iTCO_wdt 9508 0 - Live 0xf88ca000 intel_agp 22556 1 - Live 0xf894e000 agpgart 28776 1 intel_agp, Live 0xf8945000 dcdbas 6272 0 - Live 0xf88df000 ext3 105512 2 - Live 0xf896a000 jbd 39444 1 ext3, Live 0xf893a000 mbcache 7108 2 ext2,ext3, Live 0xf88ce000 dm_mirror 15104 0 - Live 0xf88da000 dm_log 8484 1 dm_mirror, Live 0xf88d6000 dm_snapshot 14340 0 - Live 0xf88d1000 dm_mod 46184 10 dm_mirror,dm_log,dm_snapshot, Live 0xf8878000 ide_cd_mod 27652 0 - Live 0xf88c2000 cdrom 30176 1 ide_cd_mod, Live 0xf88b9000 ide_disk 10496 7 - Live 0xf883d000 ata_generic 4676 0 - Live 0xf8837000 libata 140416 1 ata_generic, Live 0xf8907000 scsi_mod 129324 2 sbp2,libata, Live 0xf88e6000 dock 8304 1 libata, Live 0xf8842000 ide_pci_generic 3908 0 [permanent], Live 0xf8816000 floppy 47748 0 - Live 0xf885f000 3c59x 35624 0 - Live 0xf886e000 mii 4896 1 3c59x, Live 0xf883a000 ohci1394 24944 0 - Live 0xf8829000 ieee1394 75800 2 sbp2,ohci1394, Live 0xf88a5000 uhci_hcd 18672 0 - Live 0xf8831000 usbcore 118224 3 usbhid,uhci_hcd, Live 0xf8887000 piix 6568 0 [permanent], Live 0xf8808000 ide_core 96136 4 ide_cd_mod,ide_disk,ide_pci_generic,piix, Live 0xf8846000 thermal 15228 0 - Live 0xf881a000 processor 32544 1 thermal, Live 0xf8820000 fan 4164 0 - Live 0xf880b000 thermal_sys 10856 3 thermal,processor,fan, Live 0xf880e000 また、カーネルモジュールの管理はmodprobeコマンドにて行われます。
https://w.atwiki.jp/sweetgladiator/pages/15.html
カーネル ホットケーキのSG バター色の髪とキツネ色の服が特徴の少年騎士 原形そっくりの丸い盾を駆使し戦う 見かけはか弱いが男前、集団戦の際は身を挺して負傷者を護る 自分が傷ついても「こんなもんメープルシロップでも付けときゃ治るぜ!」と意地を張る 盾は熱線を照射することも可能で、氷菓子系のSGには恐れられている
https://w.atwiki.jp/pokeguil/pages/335.html
名前:カーネル・レイブン 種族:コイル 性別:雄 ヴォルカニア出身のコイル。機械・電子工学の天才で、ZEROでは開発部に所属。ハッキングも得意。 改造ヘリなどお手の物で資金と材料さえあればほとんど何でも作れる。 だが、資金不足のため、ZEROの武器はほとんど中古の安いものに彼が手を加えたものである。 そのため、原型がRPG-7、M63、M10といった一昔前のものが多い。
https://w.atwiki.jp/hobata/pages/41.html
IBM developerWorks Linuxカーネル解説 http //www.ibm.com/developerworks/jp/linux/library/l-linux-kernel/index.html カーネル・ソース https //www.kernel.org/ カーネルAPI http //www.ibm.com/developerworks/jp/linux/library/l-user-space-apps/index.html カーネルデバッグ http //www.ibm.com/developerworks/jp/linux/library/l-debug/#resources http //d.hatena.ne.jp/big-eyed-hamster/20090331/1238470673 http //www.mjmwired.net/kernel/Documentation/kdump/kdump.txt カーネルモジュール作成 http //wiki.bit-hive.com/tomizoo/pg/Loadable%20Kernel%20Module%A4%CE%BA%EE%A4%EA%CA%FD -
https://w.atwiki.jp/www-iris/pages/1928.html
【名前】 ダークカーネル 【読み方】 だーくかーねる 【分類】 ネットナビ 【オペレーター】 なし 【属性】 無属性、悪 【所属】 ネビュラ 【登場作品】 『5』 【基本装備】 ソード 【詳細】 カーネルがネビュラの手によって闇の力を植え付けられた姿。 『5』の作中で、カーネルがトードマンをかばいクラウドマンの攻撃を受けてしまう。 そのままカーネルの姿が消えたため、当初はデリートされてしまったと思われたが、実はネビュラが回収しダークロイドの改造を施していた。 そして、ウラインターネットでのリベレートに乗り込んできたチームオブカーネルのナビたちの前に姿を現す。 リベレートミッションで敗れた後は、復活したコスモマンの力もあり逃走する。 その後、ウラインターネット4のネビュラの最終作戦で使われたサーバーを破壊しに来たロックマンの前に現れる。 実験が無事に終了し、不要になったサーバーを一刀のもとに破壊し、そのままロックマンにも刃を向ける。 しかし、その凶刃は寸前に現れたトードマンとブルースによって阻止され、そのままトードマンの癒しの力により闇の力は消滅。 カーネルは無事に助け出され、その際にロックマンにカーネルソウルの力を与えたのだった。 また、ダークカーネルだった時のアクセス記録からネビュラの本拠地の所在が判明する。 物語はここから最終局面へと向かう事となる。 リベレートミッションで対峙するダークブルースは専用の強力な攻撃を使ってくるのだが、ダークカーネルにはそんなものはない。 厳密にはストーンキューブを召喚しての「カーネルアーミー」呼び出しを新たに使ってくるが、これはV3以上のカーネルが使う技であるため専用技というわけではない。 この技自体もダークブルースの新技よりも対処は楽なので、通常のカーネルと渡り合えるなら苦戦はしないだろう。 【余談】 アニメには登場していないが、グレイガ軍に改造されたゾアノカーネルが登場している。 敵対勢力に改造されていたが癒やしの力をもつナビの手で元に戻るという点から、アニメ世界におけるダークカーネルに当たる存在と言えるだろう。 ゾアノカーネルは劇中では、スクリーンディバイドの獣化版ともいえる「ディバイディングサーベル」を使用している。 スクリーンディバイドは緑色の斬撃だが、こちらは紫色となっていた。 また、カーネルキャノンが獣のように変形した砲塔で攻撃する「クラッシュキャノン」も使用していた。 原作やアニメのダークブルースが独自の新技を使用していたことを意識しての配慮だろうか。
https://w.atwiki.jp/optimuslte/pages/22.html
カーネルの入れ替え CWM Recoveryを導入済みと仮定しています。 ※/dev/block/mmcblk0p8を書き換えます。バックアップと復旧方法を用意しておくこと! ※/dev/block/mmcblk0p8 == boot.img == (kernel + ramdisk) bootイメージ(boot.img)とカーネルモジュール(*.ko)をSDに用意する。 以下の説明は /sdcard/kernel/boot.img /sdcard/kernel/modules/*.ko にコピーしたと仮定 CWM Recoveryの起動 電源を落として、VolumeUp+Powerボタンを押し続ける bootイメージ書き込み adb shell # mount /sdcard # cd /sdcard/kernel # cat /dev/zero /dev/block/mmcblk0p8 # cat boot.img /dev/block/mmcblk0p8 # sync CWM Recoveryのメニューから再起動する カーネルモジュール入替 adb shell $ su # cd /sdcard/kernel/modules # mkdir backup # /system/xbin/busybox cp /system/lib/modules/*.ko backup/ # mount -o remount,rw /system # /system/xbin/busybox cp *.ko /system/lib/modules/ # mount -o remount,ro /system # reboot LGロゴ無限ループした場合 バッテリー抜いて強制的に電源停止 CWM Recoveryを起動 バックアップしておいたboot.img(/dev/block/mmcblk0p8のダンプ)を書き込む 再起動
https://w.atwiki.jp/foresanc/pages/309.html
カーネル大佐 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 概要 オルカ軍スペシャルフォース部隊大佐。年齢45歳。 議会と統括軍司令官によって決められた作戦の現地での指揮をとる。 指揮官という立場ではあるが、戦場の最前線に立ち味方の士気を高めている。 しかし自分が戦闘に参加する事は稀で「まぁいいけど」が口癖の面倒くさがり屋。 部下からは慕われ、人気がある。まぁいいけど。 右胸のバッチはSFで殉職した部下の名が刻まれている。 銃火器、爆薬、兵器取り扱いのスペシャリスト。 また、剣術、棒術、などの武具の他、柔術、ボクシングなどの徒手格闘術も極めている。 単純な戦闘力ならばオルカで最強と言われている。 ちなみに、カーネルがスペシャルフォース時代にスペシャルフォースの大佐をカスパールが務めていた。 そのためカスパールに対する忠誠心は強い。今でも師と仰いでいる。 カーネル戦闘服 #ref error :ご指定のページがありません。ページ名を確認して再度指定してください。 SFが身に着けているものよりもさらにグレードの高いバトルスーツ。 両腕は完全に義手。腕から黒刀やダブルバレルショットガンなどの銃火器を収納。 発動時間は短いが、ステルス迷彩機能がついており、使用中は肉眼での確認は非常に困難。 まさに鬼に金棒のバトルスーツ。
https://w.atwiki.jp/aster-infra/pages/55.html
カーネルには「2.6.25」というようなバージョン番号が付いており 昔は、「2.A.B」の3桁でバージョン番号で表しました。 「A」が偶数の場合は安定版、奇数の場合は開発版と区別していました。 しかし現在では、数値による安定版と開発版の区別はなくなり 「2.6.A.B」というような4桁で表すようになりました。 「B」の部分は「2.6.A」の修正リリースです。 また、「A」の後ろに追加される記号でリリースの判別ができます。 リリース候補は「-rcX」(Xは数値)で表され、 開発版の要素があるものは「-gitX」と表します。 2.3.97 開発版カーネル 2.4.22 安定版カーネル 2.6.9-13 安定版カーネル 2.6.26-rc2 開発版カーネル 2.6.26-rc2-git4 開発版カーネル カーネルバージョンの確認方法は3つあります。 1つ目は、unameコマンドを使用します。 $ unae -r 2.6.14-72.3.1.el9 上記の例では、オプションに「 -r 」を付けることによって、 カーネルバージョンを表示することができます。 「 -72.3.1.el9 」の箇所はエクストラバージョンといい、 ベンダーやカーネルビルド実行者が任意で指定することができます。 2つ目は、/proc/versionを参照します。 $ cat /proc/version Linux version 2.6.14-72.3.1.el9 以下省略 3つ目は、Makefileで確認します。 カーネルソースからコンパイルしたカーネルを使用している場合、 カーネルの「 Makefile 」を参照することで確認できます。 カーネルソースがインストールしているトップディレクトリにあります。 Makefileのあるトップディレクトリ /usr/src/linux/ /usr/src/kernels/カーネルバージョン/ /usr/src/linux-headers-カーネルバージョン/ Makefileの先頭4行は以下のようになっています。 $ head -4 /usr/src/linux/Makefile VERSION = 2 PATCHLEVEL = 6 SUBLIEVEL = 14 EXTRAVERSION = -72.3.1.el9
https://w.atwiki.jp/slackware/pages/39.html
ここでは、Linuxカーネルの再構築について説明します。 カーネルは、Slackware 14 の バージョン3.2.29を使用します。 バージョンが多少異なっても、ほとんど問題はないとおもいます。 なぜ、カーネルを再構築するのか。 設定をする前に… 設定しよう コンパイル、そしてインストール 参考 なぜ、カーネルを再構築するのか。 あなたが現在の環境に満足している場合、カーネルの再構築はする必要はないでしょう。 しかし、現在のカーネルに何らかのパッチを当てたい場合や、無駄なモジュールを消したいとき、モジュールをカーネルに取り込むため、 もしくは、設定を変更したい場合など、自分用にチューニングしたい場合にカーネルの再構築が必要になります。 なお、カーネルの再構築をする場合に、新しいカーネルで問題が発生し、起動出来なくなる可能性があるので、再構築する前のカーネルを残しておくことをおすすめします。 設定をする前に… カーネルの設定を行う場合に、自分の使用してるコンピュータのシステムについて理解しなければいけません。 ほとんどの情報はlspciによって収集することが可能のようです。 # lspci 00 00.0 Host bridge Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03) 00 02.0 VGA compatible controller Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) 00 02.1 Display controller Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03) 00 1b.0 Audio device Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02) 00 1c.0 PCI bridge Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02) 00 1c.1 PCI bridge Intel Corporation N10/ICH 7 Family PCI Express Port 2 (rev 02) 00 1c.2 PCI bridge Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 02) 00 1d.0 USB controller Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 02) 00 1d.1 USB controller Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 02) 00 1d.2 USB controller Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev 02) 00 1d.3 USB controller Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 02) 00 1d.7 USB controller Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 02) 00 1e.0 PCI bridge Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00 1f.0 ISA bridge Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) 00 1f.2 IDE interface Intel Corporation 82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] (rev 02) 00 1f.3 SMBus Intel Corporation N10/ICH 7 Family SMBus Controller (rev 02) 03 00.0 Network controller Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02) 05 01.0 FireWire (IEEE 1394) Ricoh Co Ltd R5C832 IEEE 1394 Controller 05 01.1 SD Host controller Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19) 05 01.2 System peripheral Ricoh Co Ltd R5C843 MMC Host Controller (rev 01) 05 01.3 System peripheral Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 0a) 05 07.0 Ethernet controller Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10) また、現在使用してるモジュールを確認したい場合は、lsmodを使用すれば確認できます。 # lsmod Module Size Used by 下に、モジュール一覧が表示される。 設定しよう 必要な情報を入手したら、カーネルの設定をします。 作業は/usr/src/linux 内で行います。 作業を行う前に、必要に応じて、Makefileを編集します。 重要なところは前半です。 VERSION = 3 PATCHLEVEL = 2 SUBLEVEL = 29 EXTRAVERSION = NAME = Saber-toothed Squirrel 通常は変更する必要はありませんが、あなたが新しく作成したカーネルということでEXTRAVERSIONをつけておくことをおすすめします。 例 EXTRAVERSION = MyKernel 古い設定を消去します #make mrproper 上記のコマンドによって、古い設定ファイル(.config)が削除されます。 次に、設定を行うにはターミナル等で、以下のコマンドを使用します。 # make menuconfg 特に設定のテスト時は、General setupにある、Local versionを設定しておきましょう。でないと、/lib/modules/ にある、カーネル毎のフォルダが上書きされてしまいます。 /lib/modules/に置かれるフォルダ名は、カーネルバージョンの末尾にローカルバージョンを付加したものになります。(EXTRAVERSION も設定した場合は未検証) とはいっても、同じものが置かれる(はず)なので、(作っていないはずのモジュールが残っているのを気にしなければ)設定しないのもありですが・・ 設定後、新しい設定ファイルが作成されているとおもいます。 もしも、Xが起動しているのであれば、 # make xconfig でGUIで設定も可能です。 もしも、あなたがデフォルトの設定ファイルを使用したいときには、 /boot 内にある config-* を /usr/src/linux/.config にコピーしてから設定してください。 例 [/usr/src/linux] # cp /boot/onfig-huge-smp-3.2.29-smp ./.config [/usr/src/linux] # make menuconfig 設定は先ほど入手した情報などを元に設定してください。 バージョンをまたいで設定ファイルを再利用したい時、あるいは設定を変更した別バージョンを作りたい時は、 /boot 内にある config-* を /usr/src/linux-new/.config にコピーしてから、make oldconfigなどを利用して設定をインポートしてください。 例 (ソースを/usr/src/linux-new/に置き、/usr/src/linux-new-custom/で作業する場合) [/usr/src/linux-new] # cp /boot/onfig-huge-smp-3.2.29-smp ./.config [/usr/src/linux-new] # make O=/usr/src/linux-new-custom oldconfig [/usr/src/linux-new] # rm .config [/usr/src/linux-new] # cd /usr/src/linux-new-custom/ [/usr/src/linux-new-custom] # make menuconfig oldconfig コピー元にない設定項目は、設定値をどうするか質問されます olddefconfig コピー元にない設定項目は、デフォルトの設定値になります (「ない」の判断が微妙なのか、設定の依存関係の影響か不明ですが、設定値がnだらけになる場合があるので、利用時は注意して下さい) どちらも、/usr/src/linux-new/.configをテンプレートとして、/usr/src/linux-new-custom/.configを作成します。 ※ (/usr/src/linux-new/にある)コピー元の.configを消しておかないと、ビルド時(make bzImage modulesなど)で"make mrproper"が必要というエラーが発生します ※ O=(出力先) は、出力先の指定オプションです。 TODO 設定について詳しく書く。 コンパイル、そしてインストール 設定が完了したら、いよいよカーネルをコンパイルしましょう。 # make オプションに -j番号 を入力することによって、複数のプロセスを使用してコンパイルされます。(CPUの数 + 1 がいいらしい?) コンパイルが完了したらモジュールをビルドします。 # make modules_install /lib/modules/(カーネルバージョン)(ローカルバージョン) にモジュールが配置され、depmod (バージョン)されます。 次に、カーネルイメージを/boot にコピーします。(arch/x86/boot/bzImageなどの場合もあります。) # cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-3.2.29-MyKernel .config もとっておきましょう # cp /usr/src/linux/.config /boot/config-3.2.29-MyKernel System.map もコピーしましょう # cp /usr/src/linux/System.map /boot/System.map-3.2.29-MyKernel (必要に応じて、/boot/System.mapのリンクも修正しましょう) 必要に応じて、initrdも作成しましょう。(make menuconfigで、必要なモジュールを全て選択した場合は、initrdがなくても起動するはずです) # cd /boot # mkinitrd -c -k 3.2.29 -o initrd-3.2.29-MyKernel.gz -c オプションは、作業用フォルダ(/boot/initrd-tree)をクリアするオプションです。 -k オプションで指定するのは、(カーネルバージョン)(ローカルバージョン) です。modules_installの際にdepmod の後ろに表示された、(カーネルバージョン)(ローカルバージョン)と同じです。(分からなくなった場合は、ls /lib/modules/ してみましょう) -o (出力先) オプションを指定しない場合は、/boot/initrd.gzに出力されます。特にinitrd.gzがリンクでなくファイルの実体の場合は、上書きに注意しましょう。 以上で再構築は終了です。ブートローダの設定で、再構築したカーネルを読み込めるように設定し、起動してみましょう! 補足:うっかり起動できない設定のまま再起動してしまった場合は、あわてず、インストール用DVDで起動してみましょう。(Setupは実行しないで) ファイルの編集などもできるので、/etc/lilo.confなども修正できるはず! ちなみに、shutdownコマンドが無くてあわてると思いますが、確かrebootコマンドがあったと思います。これで、shutdown(物理)しなくても大丈夫っ! 参考 http //www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=1 chap=7 Slackware docs「ソースからカーネルをビルドする方法(英語版)」 「Building your kernel」あたりから下を眺めるといいと思います。
https://w.atwiki.jp/optimus-chat/pages/30.html
カーネルをビルドする方法 【ROM焼き】docomo Optimus chat L-04C root2 より 113 SIM無しさん 2011/11/12(土) 17 43 21.32 ID CSjruCTU [1/5回発言] カーネルのコンパイルはぐぐれば誰にでもできる簡単なお仕事です。 とはいえ、この機種で初めてだって人にはちょっと敷居が高いことも事実。 安くgetした人の入門機種になるといいと思うので、簡単にまとめてみます。 ■Linux環境の用意 フリーの仮想マシン(Oracle VM VirtualBoxなど) Linuxディストリビューションはお好みで。 Ubuntu 10.04 LTSあたりがいいんじゃない? ■コンパイル環境の用意 カーネルのビルドにはクロス開発環境があれば十分だと思うけど、 面倒なのでL-04C用Cyanogenソースコード一式持ってきちゃう。 1.repoのインストール curl http //git-repo.googlecode.com/files/repo-1.12 ~/bin/repo chmod a+x ~/bin/repo ※curlコマンド、git-coreはLinuxのパッケージからインストールしておく。 ※~/binにパスを通しておく。 2.ダウンロード mkdir -p ~/android/src cd ~/android/src repo init -u git //github.com/y10g/android.git -b gingerbread repo sync -j32 めっちゃ時間がかかるので注意。 ■カーネルソースの取得 適当なディレクトリを作って移動 git clone git //github.com/y10g/elini_kernel.git ■カーネルconfigファイルの編集 arch/arm/configs/elini-perf_defconfig を好きなように編集する。 ■make make elini-perf_defconfig make CROSS_COMPILE=~/android/src/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- 以上でカーネルのビルド完了(arch/arm/boot/zImage) 114 SIM無しさん 2011/11/12(土) 17 44 05.63 ID CSjruCTU [2/5回発言] つづき ■zImageとramdiskからboot.imgを作る。 1.このへんを参考に、既存のboot.imgからramdiskを取り出す。 ttp //whitesc3.blog7.fc2.com/blog-entry-250.html 2.zImageとramdiskからboot.imgを作る ※カレントディレクトリにzImageとramdisk(ディレクトリ)があるものとする mkbootfs ./ramdisk | gzip ramdisk.gz mkbootimg --cmdline mem=471M console=ttyMSM2,115200n8 androidboot.hardware=elini --kernel zImage --ramdisk ramdisk.gz --base 0x12800000 -o boot.img ■boot.imgを実機に転送 ※flash_imageは予め用意しておいてカレントディレクトリに置いておく。 adb shell su -c "mount -o rw,remount /system /system" adb shell su -c "mkdir /system/recovery" adb push flash_image /system/recovery/ adb push boot.img /system/recovery/ adb shell chmod 755 /system/recovery/flash_image adb shell su -c "/system/recovery/flash_image boot /system/recovery/boot.img" adb shell sync ■参考 LGの配布物 ttp //www.lg.com/global/support/opensource/opensource.jsp Mobile Phone - L04Cを選択して、REAME.txtに目を通しておこう。 兄弟機種?のP500、P350と比較してみると、理解が早いかもしれない。 P500のGingerbreadカーネル裏山鹿。 xdadeveloppers P500 ttp //forum.xda-developers.com/showthread.php?t=946354# P350 ttp //forum.xda-developers.com/showthread.php?t=1293188 いじょ 116 SIM無しさん 2011/11/12(土) 19 01 41.53 ID bdDLTWnM [1/4回発言] 113 もしかして、 33? なんにしろ乙。 ちなみに、 113 みたいに仮想環境でやるなら、kernel+cyanogenmodの リポジトリで10GB前後必要なんで、余裕見てディスクイメージ準備しましょう。 117 SIM無しさん 2011/11/12(土) 19 36 15.54 ID CSjruCTU [3/5回発言] 116 33とは別人 でも 35の態度についカッとなって書いたw 初心者でも通りすがりパッチとかを作れる可能性はあると思うので 仮想環境は可変容量のディスクで、最大値を大きめ(100GBなど)確保しておけば スモールスタート可能だよ 118 SIM無しさん 2011/11/12(土) 19 52 42.66 ID bdDLTWnM [2/4回発言] 117 33とは別人 おお、なんか地味にkernelいじる人増えてきてるってことか。 スモールスタート可能だよ 可変ディスクイメージは、ビルドする時けっこう遅くなるので あまりオススメしないかな。 通りすがりパッチといえば、通りすがりの人の githubのリポジトリどこ行っちゃったの? 127 SIM無しさん 2011/11/13(日) 00 32 40.49 ID uy8gFtLI [1/1回発言] 113 ちょっとしたことだけど修正 >■カーネルソースの取得 >適当なディレクトリを作って移動 >git clone git //github.com/y10g/elini_kernel.git これはandroid.gitにkernelも含まれてるから余分かも ~/android/src/kernel に入ってる あと、大したことじゃないんだけど それで取得したkernelってCM7向けに改変されてるから froyo使いたいなら素直に >LGの配布物 ttp //www.lg.com/global/support/opensource/opensource.jsp こっち使った方が良いかも まとめWiki作る・・・? 310 SIM無しさん 2011/11/29(火) 11 06 54.02 ID /2JuodwG [1/2回発言] y1logさんのCM71をGithubから落としてきてビルドしようとしたけど エラーが出てビルド通らない・・・ ackages/apps/CMParts/src/com/cyanogenmod/cmparts/activities/DisplayActivity.java 85 シンボルを見つけられません。 シンボル 変数 config_enableScreenAnimation 場所 com.android.internal.R.bool の クラス if (getResources().getBoolean(com.android.internal.R.bool.config_enableScreenAnimation)) { こんな感じのエラーがいっぱい出る。 何が足りないんだろう… 311 SIM無しさん 2011/11/29(火) 11 14 37.67 ID /2JuodwG [2/2回発言] ちなみにこんな感じでビルドしました。 ★CM71を落とす mkdir cm71l04c cd cm71l04c repo init -u git //github.com/y10g/android.git -b gingerbread repo sync ★環境設定&ビルド cd device/lge/elini ./extract-files.sh (*) cd ../../.. . build/envsetup.sh brunch elini (*)"adb pull"をcpに置き換えて、バックアップからファイルコピーしました 312 SIM無しさん 2011/11/30(水) 15 18 18.72 ID /yhKzvFd [1/1回発言] 311 環境は? JavaがOpenJavaだとコンパイルエラー出るよ。 Sun純正のJDKでコンパイルして味噌。 313 310 2011/11/30(水) 17 41 42.30 ID 0jDhKpid [1/2回発言] ビルドが通らない原因がわかりました。 android_frameworks_base が古かったようです。 古かったというと変ですが、エラーが出ていた CyanogenMod/android_packages_apps_CMParts は、元のリポジトリを参照してるので更新されているけど frameworks/baseはforkされた状態で 元のリポジトリからマージされていなかったのが原因でした。 cd frameworks/base git pull https //github.com/CyanogenMod/android_frameworks_base.git とマージすることで、とりあえずビルドは通りました。 さて、動くかどうか…? 314 310 2011/11/30(水) 17 43 04.33 ID 0jDhKpid [2/2回発言] 312 SunのJavaを使ってます。 ちなみにOSはUbuntu 11.10。 unity使いづらいぜ。 325 310 2011/12/03(土) 17 41 01.63 ID gh5pU4ww [2/5回発言] 誰が作ったROMか識別するのにどこ書き換えればいいんだろ? Modバージョン? ビルド番号? あと、yuさんのfixみたいに差分zip作る方法がわからん… 326 SIM無しさん 2011/12/03(土) 19 21 34.42 ID 364Pvt6j [1/2回発言] 作成者の識別はModバージョンがわかりやすいと思う。 update.zipの作り方 1. 適当な update.zipを解凍 ※yuさんの差分zipでいいと思う 2. 解凍した system ディレクトリ階層に必要なファイルを配置 3. META-INF/com/google/android/updater-scriptを編集 ※中身はそんなに難しくないから、何とかなる 4. zipで固めた後、zipに署名する けっこう簡単でしょ?